{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 预测 2020 年双十一销售额"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. 初始设置\n",
    "\n",
    "首先，导入所需的库，并设置中文字体和定义颜色等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入所需的库\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# 正常显示中文标签\n",
    "mpl.rcParams['font.sans-serif'] = ['SimHei']\n",
    "\n",
    "# 自动适应布局\n",
    "mpl.rcParams.update({'figure.autolayout': True})\n",
    "\n",
    "# 正常显示负号\n",
    "mpl.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "# 禁用科学计数法\n",
    "pd.set_option('display.float_format', lambda x: '%.2f' % x) \n",
    "\n",
    "# 定义颜色，主色：蓝色，辅助色：灰色，互补色：橙色\n",
    "c = {'蓝色':'#00589F', '深蓝色':'#003867', '浅蓝色':'#5D9BCF',\n",
    "     '灰色':'#999999', '深灰色':'#666666', '浅灰色':'#CCCCCC',\n",
    "     '橙色':'#F68F00', '深橙色':'#A05D00', '浅橙色':'#FBC171'}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. 定义数据\n",
    "\n",
    "从 Excel 文件中数据，并定义画图用的数据。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据源路径\n",
    "filepath='./data/2009至2019年双十一交易额.xlsx'\n",
    "\n",
    "# 读取 Excel文件\n",
    "df = pd.read_excel(filepath)\n",
    "\n",
    "# 定义画图用的数据：年份和交易额\n",
    "x = np.array(df.iloc[:, 0]).reshape(-1, 1)\n",
    "y = np.array(df.iloc[:, 1])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3. 开始画图\n",
    "\n",
    "用「**面向对象**」的方法画图。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 定义图片的大小\n",
    "fig, ax = plt.subplots(figsize=(8, 6))\n",
    "\n",
    "# 设置标题\n",
    "ax.set_title('\\n2009 至 2019 年双十一交易额\\n', loc='left', size=26, color=c['深灰色'])\n",
    "\n",
    "# 画气泡图\n",
    "ax.scatter(x, y, s=100, color=c['蓝色'])\n",
    "\n",
    "# 隐藏边框\n",
    "ax.spines['top'].set_visible(False)\n",
    "ax.spines['right'].set_visible(False)\n",
    "ax.spines['bottom'].set_visible(False)\n",
    "ax.spines['left'].set_visible(False)\n",
    "\n",
    "# 隐藏刻度线\n",
    "ax.tick_params(axis='x', which='major', length=0)\n",
    "ax.tick_params(axis='y', which='major', length=0)\n",
    "\n",
    "# 设置坐标标签字体大小和颜色\n",
    "ax.tick_params(labelsize=16, colors=c['深灰色'])\n",
    "\n",
    "# 设置坐标轴的标题\n",
    "ax.text(min(x)+1, -500, '年份', ha='center', fontsize=16, color=c['深灰色'])\n",
    "ax.text(min(x)-2, 2500, '亿\\n元', va='center', fontsize=16, color=c['深灰色'])\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4. 预测分析\n",
    "\n",
    "用回归算法进行预测。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAicAAAGlCAYAAAAhwFaTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjAsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8GearUAAAgAElEQVR4nOzdeZgU1dXH8e+sCIgoREBwwQUQxbgiioLKjokaNZtGjVHjSWJi4pa8cUmMiRpjNhO3QxZNNFGTN3GNbLK5a9z1dQFUUEAFQXYYZqbn/eNWMTU93bPPdM/M7/M88/R03aquOz3dVafuPfdWQVVVFSIiIiL5ojDXFRARERFJUnAiIiIieUXBiYiIiOQVBSciIiKSVxSciIiISF5RcCIiIiJ5RcGJiIiI5BUFJyIiIpJXFJyIiIhIXlFwIiIiInlFwYmIiIjkFQUnIiIiklcUnIiIiEheUXAiIiIieUXBiYiIiOQVBSciIiKSVxSciIiISF5RcCIiIiJ5RcGJiIiI5BUFJyIiIpJXFJyIiIhIXlFwIiIiInlFwYmIiIjkFQUnIiIiklcUnIiIiEheUXAiIiIieUXBiYiIiOQVBSciIiKSVxSciIiISF5RcCIiIiJ5RcGJiIiI5JXiXFdARHLPzHYEegIb3X1ZruvTEsysGBjg7otzXRcRaRwFJzliZnu4+zst8DoDgcOAF939rWZXTDIys/OBEcDfgUfcvSzHVWppPwbOAx4CjstxXZrNzH4IfB9YBuzbAq9XAvyhiZt/4O4/bOB+ioHDgU8D/3T35U3cZ5OZ2bnAp4C3gYfdfV1b10HAzL4Y/fqQu2/MaWVyQMFJgpl1BbYBNgDl7l6VYZ0BwD7ROhVAKsvLdQG6ASvc/aW01/gJ8D9mdhXwc3evjA5Kdf0/Kt29PMPy4cBdwLcABSetwMwKCe/vEOCQ6KdZwYmZlQJdgU1Ahbtn/ByZ2Q6EoGFLtM8tQK3PZeRZd3+hiVVan/bY3i0Htge2N7NPu/srzXy9SuCrTdz2RaBBwQlQQAgQtyP8Df9MFppZd+BUwudmU1Sv9O1LgO7A9LpawcxsG+ArQMrdb0sUfQ6YDCxO37+0qe8RAtWPzGywu69tyReP/v/FwCZ3T/8c1bVdIeH8Vurua1qyTkkKTmr6ErD1S2pm6eW/Al4C7mjEa/4FODNt2fPAauBnwDFm9mXgSsJJKJv/AJ/NsDw+mXS6yLoNnU4ITKqAs1voSnIC8GD8JMNnLTYc+GkDX/McoKnBSUX0mCkAzitmVpDpwiHNA8CjwDzChUSzXs/dU2a2hdAKMrCB9fwUsIIQRDSIu5eb2SPAScAx1A4OdgCmNPDljiG0HGVzDvB7YLmZ3e3ucT17RI9zswXN0rrMrD+hpRbgV+6+toGf+8b4MtH5ro7jT12eIbTatwoFJzUtAG4hajkhtIr0Br4Rlb8JPAucC2wmuuoF7iREkl+k+qp2G0LLybvpO3H3B8zsaeA+4Ahgb6qvxO+h9tXr2fEyMxsKXA/c5+5/pPpk0uDItz5m1hu4AjgB6A+sAeYAV7r7G1m22RW4nHDFtSOwlHBgvTrbyTza5kpgYrTNCmBqtJ8lWbbZN9rP0YQciUWEYPGXWVqWmsXMtgOujZ7+090fb8A2hUBp4qfC3VenrVZO+HvjFrj0/9+QqPx9QlfSqYTPyP9m2OWXCN/lhQ34k7KJg5P2cDKaYmZfAj6m/qD8JOCkLAffboTWlZ5AUQP2W1H/Ko3bzsx+B3wnS/E3zeybiefrCd+TycA6Qivap4CHCcem0wktJ92in1frqdcfgcuAfoRjzI3R8u7R4/x6tm9RZnYg4XgwilD/dwitwr/I1o1qZsOAH1F9PFgG3Av81N0/ybLNQYRuzNGE4/YrwK/d/R911K1NjzvAGYQBK6uBm6Jls83sUMJxoL7v6Rp337OedVYTLmbi81hDFRGOa283YptGU3CS4O5PAE8kl5nZfdGvv4uCAUh8ac1sW8KX+RV3v7cR+1puZscAI939cTM7Nir6H3dflFaHswkHIgj/s88QmopbXJQY+SSwV7RoCbATIfCabGZHp3cdmNkQwhVq36iey4DdgB9E2xzh7uvTthkMPE442KYIwczOhIPksWZ2mLu/l7bNkYTgZVvCSWk5IbC7BhhjZpMa0zzZQNcT/n6ALyb6gRujVuuZu08H+mRaOXHF/Za7fwR8xcxOIjS/n5a2bjdC0zx0nm69KsL3YHvCSaypuhM+S43Z76fM7PYGrt8lsV02ceB+H3X//y4knHA2A9PihdF3AuBRd3+ugfUCwN03m9lvgOsIAVIcnHwqenwv44atwMyOJny3tyG8JyuBocBVwFHRd7sibZuRwEzCZ6AC+AgYCFwATIqOIWvTtjkRuJtwcl1LOEGPAO4xs+HufkmGurXpcSe6uPl69PTORL5JMvCsT70jcd39PsLnLi8pOEljZl0IrSfrCCfMEwiR+PeybDIsemx0c3p0NTAnehoHH5jZIMIJ5xV3/3e0OJW2Xms1v19HCEyWA8e6+/NRns3caPkUQs5F0l8IgckLwGfc/UMz2weYRUjsuwY4P22bWwmByQJgkru/E12dzCUEA78GPh+vHOUD3Uk4QEwFvhw1dY4iXDmOA74bbdciogPZudHT/xC69NJdSMgduTqxrIBwdVEclT1fxz72AhalHXgHR4+vJ5Z9DOxsZiVpV2p7xOXu/mHdf1HH4O7nUv1/2crMuia6JhokyvXavhGbdKfpuSeZxCeRv7n7/5rZPwjHnd8nE+bN7NtkPinFx5+nmrj/PxBa5X5jZkXRSbZvVJax9bKlRcfcOwiByTXAFVE32hhCIDaW8P++ObFNIeG40w14Gjje3VeY2WhgOiGw+RFwcWKbT0XblAI/Aa6K9jOOkOdzsZnNdvepiW3a/LgDHE/19/rOxPLPEY7/Wwg5iFuDXjPbn3Cxty3hOHVGC9YnJxSc1NaDkPAa9/e9DJye9kGYDBwVPR0aPe5hZj9Pe62l7v77JtRhe0Kz4yPAv9PK4gi9xZvfo2S7U6KnV7j78wDuvtTMrib0Tx5sZkPikUFmNp7q9+rM+ATp7q+b2f8AtwPnmNmV7r4q2mZPQn84wLfjg7C7/5+Z3UT4208ws+7uHucLnEZojdkY7WdttM1jZvZLQnPwhWb2u/QrrCa+FwMIzd4QgouTMzUtm9k3gK7ufnkT9rEfIYC7kxDkxOLPVDI4+YjQstSHcPKKxQex+prwO7QowXiGmc0HvpX+v4rKbwbucvdZ8fLos/JxA3dTACxuQs5JQR2rlRKa6SvN7AvAF6L6/CVtvcnx60Tfn/g1j4geP4oC3Vh6wJtR1PVxQKLOvaM6AbRVsHsi4bP9DlFgEtVttpndT7hI+QKJ4IRw/Ij/3q+6+4pom0fN7B5CAPkVEsFJ9Bo9CN2fP4mP6e7+iJn9hRAAnUUIQmJtfdwpiF4z9nL8S4au4XibnoTzxLbAY8BnWzp5NhcUnKRx94+j7pZ/EBJQ36Z2f9wRhC6LpNHRT9IzhISzraIM6S8Cd7v7FjKLr/7a5Mol4UDC1QuE5tKkZMvQvlQ3QcddCs+4e/oJ8p+EFpKuhKj/z9Hyw6PHCqpbjtL3U0zIu4ifx/t5MMPwyr8SvtADCP+D2TRD9GV/COgFfAJ8vpWGDu9DaD26wMyecvc4+fHA6PHlxLofRI87UTM4iVuxnm2F+rUL0VX0bcCR0c9/CZ+7pFsIJ54zzexHwLVNSC5s6vEy63bufhFwUZQAGf+/ZwJHJrpsABZEXYEQ8kvSX/PhtOc7U/NzErfI/pZwfCkjXOikX+T0SPz+EzOrqyXqnmQrQzMcHT0+mSEBN85rGJC2PD6GvOfu6bkxLxCCk35m1iu+KKI66H81w/8+Hs21T9ryNjvuRE4F9m/kNjcTLlLeBE7oCIEJKDjJyN03RQl3swhNhuldKPEX9uuJPJStzOwwQjPr5gwv/z1CguW1ZvYL4JYMQUocDK2ibSUPAEvTypJ9mNskfh8XPT6a/mLuvtHMXiJkdI+lOjiJ97MiQzJZrf1ETasj69jPu2b2ISGxbyzNOEhEweMDhKvJFPCV9BygluLu95jZ3oQD3J/M7CV3XwAcGu07mUMQ9/8PTFseH6SfybSPqDWsiPBZzDpkuaHMrIiQS9HV3Vc257VaQhSY3Eo4qAP8wN3TAxOASwitTp8ldMGNMLMzGjoUMrqiLQV2M7PGBjV15ghEn+9/UJ3rcQrVLZixExO/bya0pH2e2n5DONlnGhLeEzg2w/Js6suveqQRr1WXvxG6czPl3MR5WemftfgYkn6cguzHqrq6xGuVteVxJ9pfCSHHpjHbfJ7w2d8InJgtCThtm7sJwVScCNvUEUBFRFNvuPveTXyNrBScRMzscKr/yfEHdC7hC31VItv/L6QNDbQwEdqNhKbUbyeKMl1tzyIkZJ1MuIo5M8oeT4q7btp6zokZRFftGQKmAxK/vwdb5+CIDxLZkvkWEIKT5ERYtxP6hTO1HNXaDyH5rKQB++lH8yfc6kloGh1O6Jd+u54EyG0BonUKEz/xSJ1b3T39qnYrd/9JlFB8CvCPqJ/9AOD1tCTi+ApyX6IRO1FXxQhCIDMvyy6uJvSJE21Tx58CwFfNrCE5FZXk+PgRBZJ/I4zIqQTOdfc/Z1rX3VeZ2fGEidmuJvTrP2dmJ3vD5kApprqrpSuhi6CA0AVQ30RpH2QriP6GfxBaY+8jdB2sicoOJ+QRzIySF2Obgc3u/lL0GaiMEzLNLA62Mn23XiIEQGXRTyo9kTPqvr0UuM3dz8pS50WEro5F2f/khnP3x7LspwvVFz/pLYPXAE7mY2R8DNlE6FaLxblfh1jtYbkj0taBtj3uQJhaYg/Cca87YaRoVmbWi+ok5gvc/c0G7qcroYWsiJrBSXdCSsFGQotxbAdCgL2SmhfcxVQnfbc4BSfVhgDfrnet0DycfvXZizCCZm7a8loRqbv/Fzgl6h++BZjl7lVpJ434C9Gmc5dEUXetyNuqJyGDcMUWX6XvkljtoywvGx+4t64bjUCptb6FkSdnR09f9OrhxE3aT1NEdbvczG519yVmNoLQRFxO5pasuH9+MpmDk/80YLdfJwRDBxASAEuofRX2WvQ4KrFsHOEg899E03UmKcLJqK5JA7chHGjKyf65ixN9S0nLozCzPQgH841pP41tqYlHJHRP/Mz2tBkyzexgQrCwL+Ek9CV3f9DMiuvo+y909+vM7EVCl+NewP+a2X71ddtFLXxnRle390b1/IW7p3fvNlj0vZpGyF+bSRg2u8zMphASVe8iDOM/O23TZEDxeeAOC/OUfCWxPNOxp4LaLRDpTo4eH6pjnX7RY7NnuM4kCkqGEILIXQh1viG5jru/Txhmn75tX0LgCDAtrWX2fwk5KAcBt5vZFYSBD2cQvuOrCQMCYm123DGziYTWPQj/79sbsNn1hOTlGe7e0LlvcPcTstThW4Rhy3e7+9mJ5bcT3p9z0oLkVqXgpNo9hEmxNngYYnc74R8yHPg/wkl7eZQcmr5t/D42eKppd18IjI8OduniZuB8mVjth4T3AeCHiS98chhmtr7p9Imd6nIDoa+8iuovamvsp16JwCi+An3B3WtNOGRmHwO93b1velkj9rXBzE4jXCUfGi1ObzJ/ihBcHGFm23gYUhofhOsawn6Ru2cbabaVmV1JSET+u7uf2YD10+cFOZa0/KoWtDu1r9IPAAYRTijHEVq4/kYIkA5OfwEz6wE8Y2YXuvu0aFTHHYTkwQblE0V5IXcAYwgnzL71tKqle8Ldt06BH40UuZTwWT8NGE8Yhv89qkcHnuPumbouYkWEYLjZ+WkW5hkZQjjupOecxev0IgSxFbRewqxTPSJqLiHBud5AyGqO4NlMmJek+kXDBHfjCZ/TM6g5ouUFQqtVMn+lTY47UTB2GyHgnRIl6Na3zUjga4R5kpo0g1oGcXdYS0/H0CS6K3HE3Te5+8rooJ/uEEIAkm0ege2ix4Zm/Sf3G5/ok1eiPaPHZGJTXRn/rcbCfTbiGUpv8prTXDdEXO86r6Cj5uRzoqffT46oaMn9NEGzM/Abwt2foeZw5JfTytcRWqy2IcwdswPhqrmK0E2Y7XVb5UDTWq/biP3/iXBCH+VhYrx1hHySgyxMVJXuS4SEyKlmdpC7vwwc4Glz6WRiZsVm9nVC0uSYaHFvwgm0MT/pSZ24+5PufqK7b4iuSr9Ozc/cNWb2zQzBYCxuuct2Zd8YF0WP97j7uijPJl08588Hzc1fqsMHhKATQnfLOVHgkVVUfjthQscqwgie1zOsegzVIy3XEFpfqgiJsKfX8T5n0+zjThQcX0S4XcDF9awe/603Rvv+aQvmxMXnnTpnVG4rajlpgGjYWDeqg5B08fKsfcuZpDVBJ78Uu0aPySbYVuvbyyZq5ou/BHeTyF2IJIOnbEl/XaPHrFO+WxiCHTeP/9Ldf9ka+2miXM2YejVhxs+kBwm5CacC+xGu7Ka7e61ZiHPgHsLIqxrdOo0NYqITYve0n4xTsCdGN+Hu683sr4Su2e9SPcoinsskvrfNFI8mEazv5GpmfaLXOQ/Yk3BF+RPCCaEy6vKbQfh+HOjub5vZeYTvzDOECRZTZvYnwkihrDkB0UnxAkLeQSVh5tYRhHyam4FvmdkF7p7eohbP5rqCZrAwPDlOgJ1iZpcQZqgd7TVna467dOpqzWkWDzdJ/KGZfYbQ/XYhobvxfzKtH/1/byf8r6qA8z3DbK9RztE/CF2cJ8ZdFGa2W7SfSwgzYscTHbbZccfd7zKzOd6wW2OcQcgNXEBIgG4pu0ePi1rwNZtMwUkDRQmicctIenS9W/SYfhVWX2vHZRZmmL2M6isgqDk7ayzOOo//Z42N8BvFzC4C4iDhr8BZGU40yVvR70RmcXdHxtvWW83pu6/2zPOFpO8n05wede6nGdokOIlGBpwX7W81cJqZ/cPdH0ysdgchaPks1fPEpM+tkxMe5plo1gkyep0qQpJjU5LBbyK8h180sx+5e5xE/H1CouECas4nU59dCe93V0JgcY6HWaQxs0MISd3bAV+IApNPEVoZywkj+eLPTnzQX5C+gygYO54QlAwjzMFxapSbFs9O+seo7AwzS29RjEez1HUPnYa4hZDrdL+7P21ml0X1voWad6mOv+etFpzE3P0/ZnYDISj5jpldlSH3qIRw4XQS4bvzzTryL64n9Bb8Npk74e6LzewM4A3CbMy/c/dnaePjjjdgEsWoCyge0fPDDAMXmiMewtymty3IRt06TZMe1A2KHv+vnvXSjSE04x1MdQQOodkxRc0PSZe0x0y5Ki0i+qLGgcmNhL7YWlfAUZS/KHqabSjZkOjxtfQCC/NNxIHJ97MEJhDehzgvINt+4llVa+2nMcysp5ntYGbdo5EQTe5OM7MCMysys25RX31dziOMpPg31SfQm6LgFQAPd5idQQhUexPmXpjb1Pp1NNFohbsI37vrAMxsOCGXZhNhds8GN1l7mA7+dEKr3v6JwOQUQsJyT+BSDzO7FhDyBnYgJMomT2TxRHk1WrgsTHj2OmGUzjBCS+kfCcOcv21hVtgDCAHCxYSbTsZT98eyfe4bfOEZ7Wc84TsWtzAZUVeZVd9aA6qDkxaZg8nMtjWzi6OfXTOsEs98243qi7akWwmBSQVwWrbAJOoGjd+rWrPpRp+deDBAPHy4zY47jXA2Ifn2BXf/V0u9aBRYH0R4H+u9f1hbUMtJ06Q38Y0h/FPTP6BdySI6WR0OzHf3p8zsLcJdjzcSkiKf8TBPSHwL9PgqLG7Gbc49RbKyMKw5Ttq7oQHJlI8QckXSJ6AjOrHuFz2dlVZ2HKGJHMIwuN9m24G7l5nZY4TRKaOB36W91iDCZGa19tME9xD6rdONsDrmt6irLLKGLNOkm9lOhKm2qwhX6i8TZqscSXiPLkqsnkwM1O3sa7sAmAScHHVNXEholTzN0+4J1RDJE4CZ9SMMYf0aoevlQnePm9WvJLRoPUfiLtJRl8POwNr0EVXuvtLMbiQE6J8Qhtxnaglb5e7JYaWlidceQ/U9mJK2oQGtT1HgEX/3LvPoxp7uvszMridcpZ9O9SRvLd1yUkho0YAwXD699bk0y+9xUHUW4X9xirtnuilmLNnSXOvYGR1n49bpQmjz4069olyT+MLlurrWbYL4RoNzG9i11OoUnDTN64T5FRZamIJ8CPBUIut/EeEgWVeS2ucJQccdEOZhAFaZ2U+i5f+0cEfcvxACmB9E6z1JKyXHRv3efyQcBO6L/ob63EkITg42s/2jRMPYFwgtPRuA+xP76UH1VNQ31BWYpO1nHOGmgP3SmkDjPuLFpN24sQmmEw6QFYTm+XLqToo9nxCEZjpYJIcVZwxeooPizYRs/z+6+0vR8gsIeQvnmdnPPdw3ZBLVQ7oBfm9mz3jtGTI7LQ831LyI0Irxi2jxr939b015veiEcCghodYI/+slhGBnXrTO5YTgcjm1ZxPelXBiXJSlvjeZ2S2Ee7McBgzyMJIv3v8i0k7KhJPxRsLw9d7UHGa7hDAnR/o2mf62zxOOY0WEXIz0+8PcQphNNTl8tEVzTjzcp2YRYXLBUdQeeRbPgFxOYq4RM9uF6ruFX1xPYBLP/L2c0A02lnARkjSS6ovJZCJtWx13GmIMIffpQ6DOVhMLN3R8jzD6rs5k6ahLOT7W31zXum1JwUkTuPs9RB9uM4vvfXNP1DR2E+FgWN8JNx7GtvVLZWGo4vmEq6jbCP3ZBwGfM7Pl7v6rlvsrMjqRkGi1kuom5Dq5+zwze5wwbfhtZnasV9/475potVu85pTKRriafIuQD9AQdwNXEL6ct5vZl9x9jYUhoXHLwvXNHUGQuBJuEDM7hzBbasZkvQa4jDC1/3ISCX/u/qyZ/ZlwV9IVZjaB8FkpIPy9JxGSY2eZ2fHu3ty7VOdkNFhLs3DriePSFu9tZmPcvSkzeH6KELDvS2i9nEKYhXa1hdscOCFw+QSY4O7puQdxl86ibDuIkmbrqkONvAJ33yEKml4k5MHdZGGm4e8Sho7XOQVBtO0VhICqkNBFdUb6993dP6b2XWvjrpeWvLXGbYQWwm+Y2WMe3d3dwp2K42D8rrQr+h8QEsLnNPDiBsKF4EXAWWb2DPBnD3NM7UP1fbSWUPOWGm1y3Gmgz0WPDzYg0fxwwnD0I6meuyabXxGOx/9HE+5SbGbXEgKhuzzL/X+aQsFJdvUmnFoYZnsi4SriT4Qv2BeBk8zsCnfPmKxoYT6BI4A3or7O5EyR2xMd/IDVFibneQK43swWuvv9aS/XkieVM6PHYuDROg6Y96Xlh3yNMKvqgcAiM1tG9RXji9S8kVVyP72AF+rYz83ufjNsbWI9jZBzMZEwWdVyQjJyAWEyq1vq/QtbXnwztvQZJ+tlZmcTms3joY81Jshy97OjvJXzCFe1pcD/uPuvLYxMeYLQ5/141FowpRkHyaK0x3YhOtEeRPgefp7qHID5hBPOaYQ5WI41s4WEEU9TgZe99r1SaolaYo4jHMCv8jAra6GZnU71JFjvAMd55qGr8ZV/Q0dUDTCzZEtdMZlne/0d4Y7fX/Mw++0fCAHrcDP7TLar5SiIuZXq4bQPERJ6653rJerWiodpt2RC7M8JrSbjgH+b2SpCS0mcbPo8te9qfmb0OMTM6sr3uCxxzLyS0D0znPDZ+I2FGXV3jsrXE25XsfW9yOFxJ9NxPb4DdZ3JzxZuWRHPkltnV6aZfQ/4JuEYdG49QU+2EaPHEYL3PlR31TebgpOEKEdiB0ISVDylfMYvbZQUdxOhyf8MD0MZLyaMWLiacO+cvQlZ++n3cvhx9PhQ9Fq9CImQRxBuWra1edXd34wOhA8RkuLuj7YpJfSRxvdWyXS/iMaKky97Uj3mPZMa8724+0ILiYc/IpwI+hOaOv9BGIGTnoQY72dHqvtsM+mTfBKNIhgR7ecYQhPzm4Sur1+10dVLurifuguZ76WUkdUcDXWdu0/LsM5QwmfsGKpHItwKW5upRxEOjgcSDpBfM7MfNDFJtjjtMS9F36njCXOG7Ec4+ScnwHqJ0M1xh4fhvr8ktGxcSDgpXRD9YGYrCV2v6wg3TMt4QvcwVPskM+tqYWr/H1B9E7m/A9/x6jtux9/HbQkH7Euj5/XdNToOCudmKNsaCERN8DcQ5kP5g7vfHhWdSeiWmAw8FQUobyS22yWq99ep7vL5LXCJZ5lR18Ld14cTPnvbEa7cSwgn8RYbFefuW6Iuy28Q5oPZl5AX8gohwfm3Xnv+qTj3rn/0k80Oif2sj74z3wa+TEhy7Uto1ZpJ+B6+nf4COTruZPo+xsfR083sZcLIruVU38SxK2FwxkWE41ElWfLSoovhq6nOYfl+lDKQSfzef8XMpnniflRmdjLVU/enXzg3S14fiHKgD9X3MIEwXXmN4X9R18s1hC/RBsJVx2zYOgzy5xaSW++O1hlgZp+LT9DRwSuePji+o+dFhCuZ1YTIvcbBwt0fNrOTCPkQsdMIrTWxZucduPvRzdh2CSGJsyHrDmzGft6g9k3Rcim+mtiGRgQnhG7B/QgHukuTBRbmXfgFoSWgkHAAOtXTJqaLrupHEboaTiVc1T5gZp9191o3KqvHNmmP+Wop4UpvYGLZh4Tm6L+6e42RGNF38m7g7qjF8quExNU9CfkavYG/1dHS0J3wfxhD+N7GQft/CSN10ucdOT2qX9LrhJNsXeLP0TepOfPqFKA0ygf7EuHCZjChO2lr/pGHSdOOJwz7PwV40sz29TDCC0KAcSghMFlNCHSzTt4XeY1w+4X0q/jfZgtomiq6Yr8p+mnI+k1qMY5aRX4V/TRmu7Y+7sSjMZO5Q78gdNPsQbiYrUs58N30fLTE5+hHVI+kvM5rzy2V9DihK/44Qmt+pnXujPPlWoqCk5reJeRbbCEcfK5LRuxmdh2heXEbwpXDFzyajyDJ3e81sxMIkWQFiZOWh5E5hxICnCeiZZdFTZkve7grbS1e+54GcT/tB8CfWiDnQBrJwmiJ+Iq3USf1KJg708xKMlx5LSP04RYSPkPf8CxzIERB71cszH9xDSj025MAACAASURBVHCsN2FUCu0kOIlOwj8mTLj1KCFf4pmGXL1G35EXge9ZuNniCEKr09/r2GwjocvhDMKV6MOEk3PG6d0JwcTphCDq1ah+d9SXB0J1a+IjXjMh9reErt7DCBNu9SBM516rK8HdK6JW1m6EY8KyRNlSMxtHdEd0rzmxWkbu/r6F+xD1i/6elwmT/tWZfCotolvicRVsze/rD0wgtFbsGJUXEYKRTYTcp8WEXJxMrVt9CbltQwjnpe+4+x8zrJf0N8LFwHHUblFfQwhgr6WFFVRVNfVuyZ2Pme1IaK1YDXzbayZ5Zlp/PPCsN/C27E2oT6m37CQ8kkfMbJRnuWNrlvW7NCR3QBrHwuzQ3yQk/DV3srPm1KMPsH361bBIY0S5Q78GfpQMhPONghMRERHJK5ohVkRERPKKghMRERHJKwpOREREJK8oOBEREZG8ouBERERE8oqCExEREckrCk5EREQkryg4ERERkbyi4ERERETyioITERERySsKTkRERCSvKDgRERGRvKLgRERERPKKghMRERHJKwpOREREJK8oOBEREZG8ouBERERE8oqCExEREckrCk5EREQkryg4ERERkbyi4ERERETyioITERERySsKTkRERCSvKDgRERGRvKLgRERERPKKghMRERHJK8W5rkCeqMp1BURERDqZgmwFajkRERGRvKLgRERERPKKghMRERHJKwpOREREJKuqqlSb71PBiYiIiGRUtXkVm/+0G1WbV7XpfhWciIiISEaVbz8A65dQ+c6DbbpfBSciIiKSUeXrt9d4bCsKTkRERKSWqrK1pD58CoDUB09RtWVdm+1bwYmIiIjUUvnuf6CwS3hSWBqet5GCqipNjopmiBUR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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.preprocessing import PolynomialFeatures\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "# 用管道的方式调用多项式回归算法\n",
    "poly_reg = Pipeline([\n",
    "    ('ploy', PolynomialFeatures(degree=2)),\n",
    "    ('std_scaler', StandardScaler()),\n",
    "    ('lin_reg', LinearRegression())\n",
    "])\n",
    "poly_reg.fit(x, y)\n",
    "\n",
    "# 预测的年份\n",
    "z = [[2020]]\n",
    "\n",
    "# 用算法进行预测\n",
    "predict = poly_reg.predict(z)\n",
    "\n",
    "# 使用「面向对象」的方法画图，定义图片的大小\n",
    "fig, ax = plt.subplots(figsize=(8, 6))\n",
    "\n",
    "# 设置标题\n",
    "ax.set_title('\\n预测 2020 年双十一交易额为' + ' %.0f ' % round(predict[0],0) + '亿元\\n', loc='left', size=26, color=c['深灰色'])\n",
    "\n",
    "# 画气泡图\n",
    "ax.scatter(x, y, color=c['蓝色'], marker='.', s=260)\n",
    "ax.scatter(z, predict, color=c['橙色'], marker='*', s=260)\n",
    "\n",
    "# # 绘制预测线\n",
    "x2 = np.concatenate([x, z])\n",
    "y2 = poly_reg.predict(x2)\n",
    "ax.plot(x2, y2, '-', c=c['灰色'], zorder=-1)\n",
    "\n",
    "# 隐藏边框\n",
    "ax.spines['top'].set_visible(False)\n",
    "ax.spines['right'].set_visible(False)\n",
    "ax.spines['bottom'].set_visible(False)\n",
    "ax.spines['left'].set_visible(False)\n",
    "\n",
    "# 隐藏刻度线\n",
    "ax.tick_params(axis='x', which='major', length=0)\n",
    "ax.tick_params(axis='y', which='major', length=0)\n",
    "\n",
    "# 设置坐标标签字体大小和颜色\n",
    "ax.tick_params(labelsize=16, colors=c['深灰色'])\n",
    "ax.text(min(x)-2, 3100, '亿\\n元', va='top', fontsize=16, color=c['深灰色'])\n",
    "\n",
    "# 设置坐标轴的标题\n",
    "ax.text(min(x)+1, -550, '年份', ha='center', fontsize=16, color=c['深灰色'])\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " "
   ]
  }
 ],
 "metadata": {
  "file_extension": ".py",
  "kernelspec": {
   "display_name": "Python 3.7.0 64-bit",
   "language": "python",
   "name": "python37064bit2965220bd7d04cdebdae4cbe7c63b822"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  },
  "mimetype": "text/x-python",
  "name": "python",
  "npconvert_exporter": "python",
  "pygments_lexer": "ipython3",
  "version": 3
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
